<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <a href="user.html">个人中心</a>
    <button id="btn">按钮</button>
</body>
</html>

<script src="/js/tools.js"></script>
<script>
    /* 
        把重用性极高的代码封装起来使用
    */

    // function demo(x,y)
    // {
    //     console.log(x + y);

    //     // 返回某个值 后面代码不会执行
    //     return x + y;

    //     console.log(123);
    // }

    // let test = demo(1,2);

    // console.log(test);

    /* 
        alert();
    */

   /**
    * 提示跳转
    * @param msg string 提示信息
    * @param url string 跳转指定页面
   */
    // 代码在tools.js

    // history 浏览器历史记录 go()
    // history.go(-1);// 后退
    // history.go(1);// 前进
    // location对象包含有关当前 URL 的信息
    // console.log(location.href);
    // location.href = 'login.html';

    // 箭头函数 = function简化版
    // this关键字指向
    let btn = document.getElementById('btn');

    // let text = 'update';

    // btn.onclick = function()
    // {
    //     // console.log(this.innerHTML);// 获取元素内容
    //     // console.log(this.innerText);// 获取元素本文
    //     // this.innerHTML = '<b class='+'>' + text + '</b>';
    //     // this.innerHTML = `<b>${text}</b>`;// 插入HTML元素以及文本
    //     // this.innerText = `<b>${text}</b>`;// 只能插入文本，不能解析html元素
    //     console.log(this);// 谁调用这个function就指向谁
    // }

    // btn.onclick = () =>
    // {
    //     console.log(this);
    // }

    // function demo()
    // {
    //     // this指向谁就看运行环境
    //     console.log(this);
    // }

    // let user = {
    //     id:1
    // };

    // demo();// this => window

    // demo.apply(user);

    // var a = 1;

    // function demo()
    // {
    //     var a = 2;
    //     a += 3;
    //     console.log(a);
    // }

    // demo();

    // console.log(a);

    // 递归函数：在函数里面调用自己 从而实现循环的效果
    // function test(num)
    // {
    //     if(num == 0 || num == 1){
    //             return 1;
    //     }
    //     return num * test(num - 1);
    //     /* 
    //         5 * (5 - 1)
    //                 4 * (4 - 1)
    //                         3 * (3 - 1)
    //                             2 * (2 - 1)
    //                              1
    //     */
    // }
    // document.write("5的阶乘为:" + test(5));

    // function A(callback)
    // {
    //     callback('red','yellow','blue');
    // }

    // function B(a,b,c)
    // {
    //     console.log(a,b,c);
    // }

    // A(B);

    // let data = [
    //     {
    //         id:1,
    //         name:'admin'
    //     },
    //     {
    //         id:2,
    //         name:'demo'
    //     },
    //     {
    //         id:3,
    //         name:'test'
    //     }
    // ];

    // let count = 0;

    // function B(value,index)
    // {
    //     // console.log(value);
    //     count += value.id;
        
    //     console.log(count)
    // }

    // data.forEach(B);

    // console.log(count);

    function notice()
    {
        console.log('被重构了');
    }

    notice();

    console.log(Module);

    (() => {
        console.log('立即执行函数')
    })();
</script>